﻿﻿﻿require.config({
  urlArgs: "version=20170407",
  paths: {
    'jquery': '/js/packages/jquery-2.14-min',
    'bootstrap': '/bootstrap/js/bootstrap.min',
    'bootstrapdate': '/bootstrap/bootstrap-date/js/bootstrap-datetimepicker.min',
    
  },
  shim: {
    'bootstrap': {
      deps: ['jquery'],
      exports: 'bootstrap'
    },
  	'bootstrapdate':{
  		deps: ['jquery'],
        exports: 'bootstrap'
  	}
  }
  
});

require(['jquery','bootstrap','bootstrapdate'], function ($) {
	
	var all_options = []
	var myChart = echarts.init(document.getElementById('graph-content'));
	graph_message= {}
	basis_message= {}
	date_set_20 = [];
	var myDate = new Date();
	curr_year = parseInt(myDate.getFullYear())-20;
	for(var count=1;count<=20;count++) {
		date_set_20.push(curr_year+count);
	}
	$('div.graph-detail>div>span').click(function (){
		$('div.graph-detail>div>span').removeClass('active');
		$(this).addClass('active');
	});
	$('#graph-1-1').click(function (){
		basis_message= {
			'basis':{
				'key':'ap_year',
				'label':'auto',
				'range':{
					'type':'set',
					'value':date_set_20
				},
				'unit':'test'
//				'range':{
//            		'type':'interval',
//            		'value':[1990,9999]
//            	}
			}
		}
		post_to_basis(basis_message);
		
		
		graph_message= {
			'graph_name':'申请趋势图',
			'basis':{
				'key':'ap_year',
				'name':'申请年',
				'range':{
					'type':'set',
					'value':date_set_20
				},

			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-1-2').click(function (){
		basis_message= {
			'basis':{
				'key':'ap_year',
				'label':'auto',
				'range':{
            		'type':'set',
            		'value':date_set_20
            	}
			}
		}
		post_to_basis(basis_message);
		
		graph_message= {
			'graph_name':'授权趋势图',
			'basis':{
				'key':'ap_year',
				'name':'申请年',
				'range':{
					'type':'set',
					'value':date_set_20,
				},
				'axis':'x'
			},
			'constraints':[
			               {'type':'equal','key':'ls','value':2}
			               ],
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-1-3').click(function (){
		basis_message= {
			'basis':{
				'key':'ap_year',
				'label':'auto',
				'range':{
            		'type':'set',
            		'value':date_set_20
            	}
			}
		}
		post_to_basis(basis_message);
		
		
		graph_message= {
			'graph_name':'授权趋势和授权趋势比较图',
			'basis':{
				'key':'ap_year',
				'name':'申请年',
				'range':{
					'type':'set',
					'value':date_set_20
				},

				
			},
			'branch':{
					'key':'ls',
					'label':['申请','授权'],
					'range':{
						'type':'hyperset',
						'value':[[0,1,2,3],2]
					},
					'name':'法律状态',

			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-2-1').click(function (){
		basis_message= {
			'basis':{
				'key':'prc',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
            	}
			}
		}
		post_to_basis(basis_message);
		
		graph_message= {
			'graph_name':'各地专利申请量分布',
			'basis':{
				'key':'prc',//优先权国家
				'name':'优先权国家',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	
	
	
	$('#graph-2-2').click(function (){
		basis_message= {
			'basis':{
				'key':'prc',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
            	}
			}
		}
		post_to_basis(basis_message);
		
		
		graph_message= {
			'graph_name':'各地专利申请年度申请趋势',
			'basis':{
				'key':'ap_year',//申请年
				'name':'申请年',
				'range':{
					'type':'set',
					'value':date_set_20
				}
			},
			'branch':{
					'key':'prc',//优先权国家
					'name':'国家/地区',
					'label':'auto',
					'range':{
						'type':'auto',
						'value':10
					}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-2-3').click(function (){
		basis_message= {
			'basis':{
				'key':'ro',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
            	}
			}
		}
		post_to_basis(basis_message);
		
		
		graph_message= {
			'graph_name':'各地专利申请分布',
			'basis':{
				'key':'ro',//受理局
				'name':'受理局',
				'range':{'type':'auto',
						'value':10}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-2-4').click(function (){
		basis_message= {
			'basis':{
				'key':'ro',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
            	}
			}
		}
		post_to_basis(basis_message);
		
		
		graph_message= {
			'graph_name':'受理局的年度受理趋势',
			'basis':{
				'key':'ap_year',//申请年
				'name':'申请年',
				'range':{
					'type':'set',
					'value':date_set_20
				},
				'axis':'x',
			},
			'branch':{
					'key':'ro',//受理局
					'name':'受理局',
					'label':'auto',
					'range':{
						'type':'auto',
						'value':10
					}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	
	$('#graph-2-5').click(function (){
		basis_message= {
			'basis':{
				'key':'ro',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
            	}
			}
		}
		post_to_basis(basis_message);
		
		graph_message= {
			'graph_name':'5大技术来源国 与目标市场',
			'basis':{
				'key':'ro',//受理局
				'name':'受理局',
				'range':{
					'type':'auto',
					'value':5
				},
				'axis':'x',
			},
			'branch':{
					'key':'prc',//优先权国家
					'name':'优先权国家',
					'label':'auto',
					'range':{
						'type':'auto',
						'value':5
					}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
$('#graph-2-6').click(function (){
		
		insert_graph_name("中国各省申请量");
		$('#graph-type-all')[0].innerHTML='';
		var myChart1= echarts.init(document.getElementById('graph-content'));
		dataX = [];
	  	valueY1 = [];
	  	valueY2 = [];
	  	valueY3 = [];
		$.ajax({
		type : 'GET',
		url : '/draw/graph/2006',
		//data : jsonda,
		cache: false,
		async:false,
		//contentType: "application/json; charset=utf-8",
		dataType : 'json',
		success : function(res) {
			yValue0 = res.yValue0;
			dataX = res.xAxis;
		},
		error : function(xml, err, throwInfo) {
			alert(err);
		}
		});
		var min=yValue0[0];
		var max=yValue0[0];
		for(var j=0;j<yValue0.length;j++){
			if(parseInt(yValue0[j])>parseInt(max)){
				max=yValue0[j];
			}
			if(parseInt(yValue0[j])<parseInt(min)){
				min=yValue0[j];
			}
		}
		
		for(var j=0;j<yValue0.length;j++){
			for(var i=j;i<yValue0.length;i++){
				if(parseInt(yValue0[i])>parseInt(yValue0[j])){
					var tmp=yValue0[j];
					yValue0[j]=yValue0[i];
					yValue0[i]=tmp;
					
					var tmp=dataX[j];
					dataX[j]=dataX[i];
					dataX[i]=tmp;
				}
			}
		}
		
		
		myChart1.clear();
		option = {
			    title : {
			        text: '',//'中国各省的专利申请量分布',
			        //subtext: '中国各省的专利申请量分布',
			        x:'center'
			    },
			    
			    tooltip : {
			        trigger: 'item'
			    },
			    /*legend: {
			        orient: 'vertical',
			        x:'left',
			        data:['专利申请量']
			    },*/
			    
			    //dataRange: {
			    visualMap: {
			        min: 0,
			        max: max,
			        x: 'left',
			        y: 'bottom',
			        //splitNumber: 2,
			        text:[max, 0],          
			        //calculable : true,
			        color:['red','#f0ffff'],
			        formatter : function(v) {
			            return parseInt(v);
			        }
			        //precision: 0,
			        //splitNumber: 1,
			        //range:{start:'0',end:'10'},			        
			    },
			    toolbox: {
			        show: true,
			        //orient : 'vertical',
			        //x: 'right',
			        //y: 'center',
			        feature : {
			            dataView : {show: true, readOnly: false},
			            saveAsImage : {show: true},
			            restore : {show: true},
			            //dataZoom: {show:true}
			       
			        }
			    },
			    series : [
			        {
			            name: '专利申请量',
			            type: 'map',
			            //center: [95, 40], 
			            map: 'china',
			            /*mapLocation: {
			                x: 'left'
			            },*/
			            roam: true,
			            zoom:1.2,
			            itemStyle:{
			                normal:{label:{show:true}},
			                emphasis:{label:{show:true}}
			            },
			            data:[
			               
			            ]
			        },
			    ]
			};
		
		for(var j=0;j<yValue0.length;j++){
				option.series[0].data.push({name: dataX[j],value: yValue0[j]});
		}
		
		myChart.on('click', function (params) {
		    var city = params.name;
		    //alert(city);
		    post_for_patentid_callback(city);
		});
		
		myChart1.setOption(option);  
	});
	function post_for_patentid_callback(f_graph_message) {
		$.ajax({
			type : 'POST',  
			url : '/draw/graph/2006_callback', 
			//traditional:true,
			data : {
				//'graph_message':JSON.stringify(f_graph_message), 
				'graph_message':f_graph_message,
				'graph_type':"city"
			},
	        contentType: "application/x-www-form-urlencoded",  
	        dataType : 'json',  
	        success : function(res) {
				window.open("/patents/graphpatentslist.html");
	        
			}
		});
	}
	$('#graph-2-7').click(function (){
		basis_message= {
			'basis':{
				'key':'apr',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		
		graph_message= {
			'graph_name':'专利申请量各省份分布',
			'basis':{
				'key':'apr',//省份
				'name':'省市',
				'range':{'type':'auto',
						'value':20}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-2-8').click(function (){
		basis_message= {
			'basis':{
				'key':'apr',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		
		graph_message= {
			'graph_name':'各省份的专利年度申请趋势',
			'basis':{
				'key':'ap_year',//申请年
				'name':'申请年',
				'range':{
					'type':'set',
					'value':date_set_20
				},
				'axis':'x',
			},
			'branch':{
					'key':'apr',//省份
					'name':'省份',
					'label':'auto',
					'range':{
						'type':'auto',
						'value':10
					}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-3-1').click(function (){
		basis_message= {
			'basis':{
				'key':'ap',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		
		graph_message= {
			'graph_name':'各企业/研发机构专利申请量分布',
			'basis':{
				'key':'ap',
				'name':'申请人',
				'range':{
					'type':'auto',
					'value':20
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-3-2').click(function (){
		basis_message= {
			'basis':{
				'key':'ap',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
            	}
			}
		}
		post_to_basis(basis_message);
		graph_message= {
			'graph_name':'各企业/研发机构专利申请趋势',
			'basis':{
				'key':'ap_year',
				'name':'申请年',
				'range':{
					'type':'set',
					'value':date_set_20
				},
				'axis':'x'
			},
			'branch':{
				'key':'ap',
				'name':'申请人',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10

				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-3-3').click(function (){
		basis_message= {
			'basis':{
				'key':'ap',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
            	}
			}
		}
		post_to_basis(basis_message);
		
		graph_message= {
			'graph_name':'各企业/研发机构的专利申请类型',
			'basis':{
				'key':'ap',
				'name':'申请人',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'branch':{
				'key':'pt',
				'name':'专利类型',
				'label':['发明','新型','外观设计'],
				'range':{
					'type':'hyperset',
					'value':['1','2','3']
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-3-4').click(function (){
		basis_message= {
			'basis':{
				'key':'ap',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
            	}
			}
		}
		post_to_basis(basis_message);
		graph_message= {
			'graph_name':'各企业/研发机构的专利法律状态',
			'basis':{
				'key':'ap',
				'name':'申请人',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'branch':{
				'key':'ls',
				'name':'法律状态',
				'label':['未授权','有效','已失效'],
				'range':{
					'type':'hyperset',
					'value':[1,2,3]
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-3-5').click(function (){
		basis_message= {
			'basis':{
				'key':'ro',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':5
            	}
			}
		}
		post_to_basis(basis_message);
		graph_message= {
			'graph_name':'各企业/研发机构在5大受理局的专利申请分布',
			'basis':{
				'key':'ap',
				'name':'申请人',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'branch':{
				'key':'ro',
				'name':'受理局',
				'range':{
					'type':'auto',
					'value':5
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-3-6').click(function (){
		basis_message= {
			'basis':{
				'key':'ap',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		
		graph_message= {
			'graph_name':'申请人在各国家/地区的专利申请分布',
			'basis':{
				'key':'ro',
				'name':'受理局',
				'range':{
					'type':'auto',
					'value':20
            	}
			},
			'branch':{
				'key':'ap',
				'name':'申请人',
				'range':{
					'type':'auto',
					'value':1
				}
			},
//			'constraints':[
//			               {'type':'equal','key':'ap','value':'xxxxx'}//选择某一申请人
//            ],
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	
	$('#graph-3-7').click(function (){
		basis_message= {
			'basis':{
				'key':'ap',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		
		graph_message= {
			'graph_name':'各企业/研发机构的重点技术领域分布',
			'basis':{
				'key':'ap',
				'name':'申请人',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'branch':{
				'key':'icm',
				'name':'ipc主分类号',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-3-8').click(function (){
		basis_message= {
			'basis':{
				'key':'ap',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		
		graph_message= {
			'graph_name':'申请人在各重点技术领域的专利分布',
			'basis':{
				'key':'icm',
				'name':'ipc主分类号',
				'range':{
					'type':'auto',
					'value':20
				}
			},
			'branch':{
				'key':'ap',
				'name':'申请人',
				'range':{
					'type':'auto',
					'value':1
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-3-9').click(function (){
		basis_message= {
			'basis':{
				'key':'ap',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		graph_message= {
			'graph_name':'申请人在各重点技术领域的专利布局对比',
			'basis':{
				'key':'icm',
				'name':'ipc主分类号',
				'range':{
					'type':'auto',
					'value':20
				}
			},
			'branch':{
				'key':'ap',
				'name':'申请人',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-4-1').click(function (){
		basis_message= {
			'basis':{
				'key':'inventor',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		graph_message= {
			'graph_name':'各企业/研发机构专利申请量分布',
			'basis':{
				'key':'inventor',
				'name':'发明人',
				'range':{
					'type':'auto',
					'value':20
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-4-2').click(function (){
		basis_message= {
			'basis':{
				'key':'inventor',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		graph_message= {
			'graph_name':'各企业/研发机构专利申请趋势',
			'basis':{
				'key':'ap_year',
				'name':'申请年',
				'range':{
					'type':'set',
					'value':date_set_20
				}
			},
			'branch':{
				'key':'inventor',
				'name':'发明人',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-4-3').click(function (){
		basis_message= {
			'basis':{
				'key':'inventor',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		graph_message= {
			'graph_name':'各企业/研发机构的专利申请类型',
			'basis':{
				'key':'inventor',
				'name':'发明人',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'branch':{
				'key':'pt',
				'name':'专利类型',
				'label':['发明','新型','外观设计'],
				'range':{
					'type':'hyperset',
					'value':['1','2','3']
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-4-4').click(function (){
		basis_message= {
			'basis':{
				'key':'inventor',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		graph_message= {
			'graph_name':'各企业/研发机构的专利法律状态',
			'basis':{
				'key':'inventor',
				'name':'发明人',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'branch':{
				'key':'ls',
				'name':'法律状态',
				'label':['未授权','有效','已失效'],
				'range':{
					'type':'hyperset',
					'value':[1,2,3]
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-4-5').click(function (){
		basis_message= {
			'basis':{
				'key':'inventor',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		
		graph_message= {
			'graph_name':'各企业/研发机构在5大受理局的专利申请分布',
			'basis':{
				'key':'inventor',
				'name':'发明人',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'branch':{
				'key':'ro',
				'name':'受理局',
				'range':{
					'type':'auto',
					'value':5
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-4-6').click(function (){
		basis_message= {
			'basis':{
				'key':'inventor',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		graph_message= {
			'graph_name':'发明人在各国家/地区的专利申请分布',
			'basis':{
				'key':'ro',
				'name':'受理局',
				'range':{
					'type':'auto',
					'value':20
            	}
			},
			'branch':{
				'key':'inventor',
				'name':'发明人',
				'range':{
					'type':'auto',
					'value':1
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-4-7').click(function (){
		basis_message= {
			'basis':{
				'key':'inventor',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		graph_message= {
			'graph_name':'各企业/研发机构的重点技术领域分布',
			'basis':{
				'key':'inventor',
				'name':'发明人',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'branch':{
				'key':'icm',
				'name':'ipc主分类号',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-4-8').click(function (){
		basis_message= {
			'basis':{
				'key':'inventor',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		graph_message= {
			'graph_name':'发明人在各重点技术领域的专利分布',
			'basis':{
				'key':'icm',
				'name':'ipc主分类号',
				'range':{
					'type':'auto',
					'value':20
				}
			},
			'branch':{
				'key':'inventor',
				'name':'发明人',
				'range':{
					'type':'auto',
					'value':1
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-4-9').click(function (){
		basis_message= {
			'basis':{
				'key':'inventor',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		
		graph_message= {
			'graph_name':'发明人在各重点技术领域的专利布局对比',
			'basis':{
				'key':'icm',
				'name':'ipc主分类号',
				'range':{
					'type':'auto',
					'value':20
				}
			},
			'branch':{
				'key':'inventor',
				'name':'发明人',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-4-10').click(function (){
		basis_message= {
			'basis':{
				'key':'inventor',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		
		graph_message= {
			'graph_name':'发明人外观设计分布',
			'basis':{
				'key':'lc',
				'name':'LOC外观设计分类号',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'branch':{
				'key':'inventor',
				'name':'发明人',
				'range':{
					'type':'auto',
					'value':1
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-5-1').click(function (){
		basis_message= {
			'basis':{
				'key':'ic',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		//暂时没有upc字段
		graph_message= {
			'graph_name':'IPC分类排名',
			'basis':{
				'key':'ic',
				'name':'技术分类',
				'range':{
				    'type':'auto',
				    'value':20
				}

			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-5-2').click(function (){
		basis_message= {
			'basis':{
				'key':'ic',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		//暂时没有upc字段
		graph_message= {
			'graph_name':'IPC分类申请趋势',
			'basis':{
				'key':'ap_year',
				'name':'申请年',
				'range':{
					'type':'set',
					'value':date_set_20
				}
			},
			'branch':{
				'key':'ic',
				'name':'技术分类',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-5-3').click(function (){
		basis_message= {
			'basis':{
				'key':'ic',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
            	}
			}
		}
		post_to_basis(basis_message);
		
		//暂时没有upc字段
		graph_message= {
			'graph_name':'主要技术来源国的IPC分类分布',
			'basis':{
				'key':'prc',
				'name':'优先权国'
			},
			'branch':{
				'key':'ic',
				'name':'技术分类',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-5-4').click(function (){
		basis_message= {
			'basis':{
				'key':'ro',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
            	}
			}
		}
		post_to_basis(basis_message);
		//暂时没有upc字段
		graph_message= {
			'graph_name':'主要受理局的IPC分类分布',
			'basis':{
				'key':'ro',
				'name':'受理局',
				'range':{
					'type':'auto',
					'value':5
            	}
			},
			'branch':{
				'key':'ic',
				'name':'技术分类',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-5-5').click(function (){
		basis_message= {
			'basis':{
				'key':'lc',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
            	}
			}
		}
		post_to_basis(basis_message);
		//暂时没有upc字段
		graph_message= {
			'graph_name':'LOC分类排名',
			'basis':{
				'key':'lc',
				'name':'技术分类',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-5-6').click(function (){
		basis_message= {
			'basis':{
				'key':'lc',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
            	}
			}
		}
		post_to_basis(basis_message);
		//暂时没有upc字段
		graph_message= {
			'graph_name':'LOC分类申请趋势',
			'basis':{
				'key':'ap_year',
				'name':'申请年',
				'range':{
					'type':'set',
					'value':inventor
				}
			},
			'branch':{
				'key':'lc',
				'name':'技术分类',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-5-7').click(function (){
		basis_message= {
			'basis':{
				'key':'ap_year',
				'label':'auto',
				'range':{
            		'type':'set',
            		'value':'inventor'
            	}
			}
		}
//		post_to_basis(basis_message);
		graph_message= {
			'graph_name':'专利技术生命周期',
			'basis':{
				'key':'ap_year',
				'name':'申请年',
				'label':['1988~1990','1991~1993','1994~1996','1997~1999','2000~2002','2003~2005','2006~2008','2009~2011','2012~2014','2015~2017'],
				'range':{
		            'type':'hyperset',
		            'value':[[1988,1989,1990],[1991,1992,1993],[1994,1995,1996],[1997,1998,1999],[2000,2001,2002],[2003,2004,2005],[2006,2007,2008],[2009,2010,2011],[2012,2013,2014],[2015,2016,2017]]
		        }
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			},{
				'key':'applicant_count',
				'name':'申请人数量',
				'unit':'人'
			}]
		}
		post_to_draw(graph_message);
	});
	
	$('#graph-5-8').click(function (){
		basis_message= {
			'basis':{
				'key':'br',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
				}
			}
		}
		post_to_basis(basis_message);
		
		graph_message= {
			'graph_name':'专利申请量对比',
			'basis':{
				'key':'br',
				'name':'细分技术',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-5-9').click(function (){
		basis_message= {
			'basis':{
				'key':'br',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
				}
			}
		}
		post_to_basis(basis_message);
		//暂时没有upc字段
		graph_message= {
			'graph_name':'专利申请趋势对比',
			'basis':{
				'key':'ap_year',
				'name':'申请年',
				'range':{
					'type':'set',
					'value':date_set_20
				}
			},
			'branch':{
				'key':'br',
				'name':'细分技术',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-5-10').click(function (){
		basis_message= {
			'basis':{
				'key':'prc',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
				}
			}
		}
		post_to_basis(basis_message);
		//暂时没有upc字段
		graph_message= {
			'graph_name':'技术来源国研发优势对比',
			'basis':{
				'key':'prc',
				'name':'优先权国家',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'branch':{
				'key':'br',
				'name':'细分技术',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-5-11').click(function (){
		basis_message= {
			'basis':{
				'key':'br',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
				}
			}
		}
		post_to_basis(basis_message);
		
		
		graph_message= {
			'graph_name':'各受理局专利申请对比',
			'basis':{
				'key':'ro',
				'name':'受理局',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'branch':{
				'key':'br',
				'name':'细分技术',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	
	$('#graph-5-12').click(function (){
		basis_message= {
			'basis':{
				'key':'ap',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
				}
			}
		}
		post_to_basis(basis_message);
		//暂时没有upc字段
		graph_message= {
			'graph_name':'主要企业专利布局对比',
			'basis':{
				'key':'ap',
				'name':'申请人',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'branch':{
				'key':'br',
				'name':'细分技术',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'target':[{
				'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	
	$('#graph-6-1').click(function (){
		basis_message= {
			'basis':{
				'key':'ls',
				'label':'auto',
				'label':['未授权','有效','已失效'],
		        'range':{
		            'type':'hyperset',
		            'value':[1,2,3]
		        }
			}
		}
		post_to_basis(basis_message);
		//暂时没有upc字段
		graph_message= {
			'graph_name':'法律状态图',
			'basis':{
				'key':'ls',
				'name':'法律状态',
		        'label':['未授权','有效','已失效'],
		        'range':{
		            'type':'hyperset',
		            'value':[1,2,3]
		        }
			},
			'target':[{
			    'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});

	$('#graph-6-2').click(function (){
		basis_message= {
			'basis':{
				'key':'ap_year',
				'label':'auto',
				'range':{
	            	'type':'set',
	            	'value':date_set_20
	            },
			}
		}
		post_to_basis(basis_message);
		//暂时没有upc字段
		graph_message= {
			'graph_name':'专利申请法律状态年度分布',
			'basis':{
				'key':'ap_year',
				'name':'申请年',
				'range':{
                	'type':'set',
                	'value':date_set_20
                },
			},
			'branch':{
				'key':'ls',
				'name':'法律状态',
				'label':['未授权','有效','已失效'],
				'range':{
					'type':'hyperset',
					'value':[1,2,3]
				}
			},
			'target':[{
			    'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-6-3').click(function (){
		basis_message= {
			'basis':{
				'key':'prc',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':10
				}
			}
		}
		post_to_basis(basis_message);
		graph_message= {
			'graph_name':'国家/地区专利申请法律状态',
			'basis':{
				'key':'prc',
				'name':'优先权国家',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'branch':{
				'key':'ls',
				'name':'法律状态',
				'label':['未授权','有效','已失效'],
				'range':{
					'type':'hyperset',
					'value':[1,2,3]
				}
			},
			'target':[{
			    'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}
			]
		}
		post_to_draw(graph_message);
	});
	$('#graph-6-4').click(function (){
		
		basis_message= {
			'basis':{
				'key':'ap',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
				}
			}
		}
		post_to_basis(basis_message);
		
		graph_message= {
			'graph_name':'申请人专利申请法律状态',
			'basis':{
				'key':'ap',
				'name':'申请人',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'branch':{
				'key':'ls',
				'name':'法律状态',
				'label':['未授权','有效','已失效'],
				'range':{
					'type':'hyperset',
					'value':[1,2,3]
				}
			},
			'target':[{
			    'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-6-5').click(function (){
		basis_message= {
			'basis':{
				'key':'inventor',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
				}
			}
		}
		post_to_basis(basis_message);
		//暂时没有upc字段
		graph_message= {
			'graph_name':'申请人专利申请法律状态',
			'basis':{
				'key':'inventor',
				'name':'发明人',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'branch':{
				'key':'ls',
				'name':'法律状态',
				'label':['未授权','有效','已失效'],
				'range':{
					'type':'hyperset',
					'value':[1,2,3]
				}
			},
			'target':[{
			    'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-6-6').click(function (){
		basis_message= {
			'basis':{
				'key':'icm',
				'label':'auto',
				'range':{
					'type':'auto',
					'value':20
				}
			}
		}
		post_to_basis(basis_message);
		//暂时没有upc字段
		graph_message= {
			'graph_name':'技术IPC专利申请法律状态',
			'basis':{
				'key':'icm',
				'name':'ipc主分类号',
				'range':{
					'type':'auto',
					'value':10
				}
			},
			'branch':{
				'key':'ls',
				'name':'法律状态',
				'label':['未授权','有效','已失效'],
				'range':{
					'type':'hyperset',
					'value':[1,2,3]
				}
			},
			'target':[{
			    'key':'patent_count',
				'name':'专利数量',
				'unit':'件'
			}]
		}
		post_to_draw(graph_message);
	});
	$('#graph-line').click(function () {
		option = set_option_d_2();
		draw_graph(option);
	});
	$('#control-basis').click(function () {
		var new_set = [];
		$('#data-table>div>input').each(function(index){
			
			if($(this).prop("checked") ==true){
				var value = $(this).parent('div').find('span').text();
				if(isNumber(value)) {
					value = parseInt(value)
				}
				new_set.push(value);
			}
		});
		console.log(new_set);
		if(basis_message['basis']['key'] == graph_message['basis']['key']) {
			graph_message['basis']['range']['type']='set';
			graph_message['basis']['range']['value']=new_set;
		}else {
			graph_message['branch']['range']['type']='set';
			graph_message['branch']['range']['value']=new_set;
		}
		//alert(JSON.stringify(graph_message));
		post_to_draw(graph_message);
	});
	function post_to_basis(f_graph_message) {
		$.ajax({
			type : 'POST',  
			url : '/graph/draw/basis', 
			data : {
				'graph_message':JSON.stringify(f_graph_message), 
			},
	        contentType: "application/x-www-form-urlencoded",  
	        dataType : 'json',  
	        success : function(res) {
                basis_list = res.data;
                insert_graph_basis(basis_list);
                //$('#json-basis-show')[0].innerHTML = JSON.stringify(options)
			}
		});
	}
	function insert_graph_basis(basis_list) {
		$('#data-table').text('');
		for(var each in basis_list) {
			var div = $("<div></div>");
			var input = $("<input>");
			input.attr('type','checkbox');
			var span = $('<span></span>').text(basis_list[each]);
			div.append(input);
			div.append(span);
			$('#data-table').append(div);
		}
		$('#data-table>div>input').prop("checked", true);
		
	}
	function insert_graph_name(graph_name) {
		$('#graph-name')[0].innerHTML = graph_name;
	}
	function post_to_draw(f_graph_message) {
		insert_graph_name(f_graph_message['graph_name']);
		$.ajax({
			type : 'POST',  
			url : '/graph/draw/option', 
			data : {
				'graph_message':JSON.stringify(f_graph_message), 
			},
	        contentType: "application/x-www-form-urlencoded",  
	        dataType : 'json',  
	        success : function(res) {
			    options = eval('(' + res.data + ')');
			    all_options = options.value;

				insert_graph_types(all_options)
			}
		});
	}
	function draw_graph(option) {
		myChart.clear();

		  
		myChart.setOption(option);
        myChart.off();
		myChart.on("click", function(params){
		    graphListener(params, graph_message);
		});
	}

	function insert_graph_types(f_list_all){
		all_length = f_list_all.length-1;
		$('#graph-type-all')[0].innerHTML='';
		for (var num in f_list_all) {
			var span = document.createElement("span");
			span.setAttribute('id','graph-type-'+num);
			if(num==0) {
				span.setAttribute('class','label-type label-left lshow');
			}else if(num==all_length) {
				span.setAttribute('class','label-type label-right');
			}else {
				span.setAttribute('class','label-type label-middle');
			}
			span.innerHTML=f_list_all[num].type;
			$('#graph-type-all').append(span);
			$('#graph-type-'+num).click(function () {
				$('.label-type').removeClass("lshow");
				$(this).addClass('lshow');
				curr = this.id.split('-')[2];
				var thisOption = f_list_all[curr].option;
				$('#json-show')[0].innerHTML = JSON.stringify(thisOption)

                thisOption = convertFunction(thisOption)

				draw_graph(thisOption);
			});
		}
		$('#json-show')[0].innerHTML = JSON.stringify(f_list_all[0].option)
		draw_graph(convertFunction(f_list_all[0].option));
	}
});

function graphListener(params, graph_message){
    console.log(params);
    var callback_message = params;
    delete callback_message.event;
    postCallback("/graph/callback/general",
                {'graph_message':JSON.stringify(graph_message),
                 'callback_message':JSON.stringify(callback_message)});
}

function postCallback(path, params) {
	$.ajax({
		type : 'POST',  
		url : path, 
		data : params,
        contentType: "application/x-www-form-urlencoded",  
        dataType : 'json',  
        success : function(res) {
			window.open("/patents/graphpatentslist.html");
		}
	});
	
//    method = method || "post";
//    var form = document.createElement("form");
//    form.setAttribute("method", method);
//    form.setAttribute("action", path);
//    form.setAttribute("target", "_blank");
//
//    for(var key in params) {
//        if(params.hasOwnProperty(key)) {
//            var hiddenField = document.createElement("input");
//            hiddenField.setAttribute("type", "hidden");
//            hiddenField.setAttribute("name", key);
//            hiddenField.setAttribute("value", params[key]);
//
//            form.appendChild(hiddenField);
//        }
//    }
//
//    document.body.appendChild(form);
//    form.submit();
}

function hoverDataText(param, basisName, targetName){
    var result = "";
    var xLabel = wrapTextInBox(param[0].name).replace(/[\r\n]/g, "<br/>");
    result += basisName+": "+xLabel;
    if (param.length >1){
        for (var i=0;i<param.length;i++){
            var color = param[i].color;
            result += "<br/><span style='color:"+color+"'>●  </span>";
            var yLabel = wrapTextInBox(param[i].seriesName).replace(/[\r\n]/g, "<br/>");
            var value = param[i].value;
            result += ""+yLabel+" ("+targetName+": "+value+")";
        }
    } else {
        value = param[0].value;
        result += "<br/>"+targetName+": "+value;
    }

    return result;
}

function hoverDataTextBubble(param, basisName, branchName, targetName){
    var result = "";
    var xLabel = wrapTextInBox(param[0].value[0]).replace(/[\r\n]/g, "<br/>");
    result += basisName+": "+xLabel;
    var seriesArray = new Array();
    for (var i=param.length-1;i>=0;i--){
        var color = param[i].color;
        result += "<br/><span style='color:"+color+"'>●  </span>";
        var yLabel = wrapTextInBox(param[i].seriesName).replace(/[\r\n]/g, "<br/>");
        var value = param[i].value[2];
        result += ""+yLabel+" ("+targetName+": "+value+")";
    }
    return result
}

function hoverDataText2Target(param, basisName, targetName1, targetName2){
    var result = "";
//    alert(param.data)
    result += basisName+": "+param.data[2]+"<br/>";
    result += targetName1+": "+param.data[0]+"<br/>";
    result += targetName2+": "+param.data[1];
    return result;
}

function process(key,value) {
//    console.log(key + " : "+value);
}

function traverse(o,func) {
    for (var i in o) {
        if (o[i] !=null){
            if (typeof(o[i]) == "string"){
                if (o[i].indexOf("function") == 0){
                    o[i] = eval("("+o[i]+")");
                }
            }
        }

        if (o[i] !== null && typeof(o[i])=="object") {
            traverse(o[i],func);
        }
    }
}

function convertFunction(json){
    traverse(json, process);
	return json;
}

var WordWrap = function(text, fontsize, width) {
    var wordslength = function(text) {
        if (text == null) text = "";
        var len = text.length, wordslength = 0;
        for (var i = 0; i < len; i++) {
            if (text.charCodeAt(i) > 128) {
                wordslength += 2;
            } else {
                wordslength += 1;
            }
        }
        return wordslength;
    };

    var cutString=function(str, leng) {
        var len = str.length, tlen = len, nlen = 0;
        for (var x = 0; x < len; x++) {
            if (str.charCodeAt(x) > 128) {
                if (nlen + 2 < leng) {
                    nlen += 2;
                } else {
                    tlen = x+1;
                    break;
                }
            } else {
                if (nlen + 1 < leng) {
                    nlen += 1;
                } else {
                    tlen = x+1;
                    break;
                }
            }
        }
        return tlen;
    };

    var textperline = function(text,fontsize, width) {
        var lines=[];
        while(wordslength(text)>0){
            var len=Math.floor(width/(fontsize/1.8));
            var linewidth=cutString(text,len);
            lines.push(text.substr(0,linewidth));
            text=text.substr(linewidth);
        }
        return lines;
    };
    this.lines = textperline(text,fontsize,width);
    this.rows =this.lines.length;
};

function wrapText(text){
    return wrap(text, 1, 9);
}

function wrapTextInBox(text){
    return wrap(text, 1, 30);
}

function wrapTextInLegend(text){
    return wrap(text, 1, 20);
}

function wrap(text, a, b){
    var wordwrap = new WordWrap(""+text, a, b);
    var str = wordwrap.lines[0];
    for(var i=1,l=wordwrap.rows;i<l;i++){
        str = str + "\n"+ wordwrap.lines[i];
    }
    return str;
}
function isNumber(value) {
    var patrn = /^[0-9]*$/;
    if (patrn.exec(value) == null || value == "") {
        return false
    } else {
        return true
    }
}
